MDN web docs:

https://developer.mozilla.org...

push(ele1,ele2,....,eleX)

ele1:必需。添加到数组尾部的第一个元素。
ele2:可选。添加到数组尾部的第二个元素。
eleX:可选。可添加多个元素。
功能:向数组的末尾添加一个或多个元素。
会改变原数组的,返回值是改变后的数组长度

var arr = [1,2,3];
var length = arr.push(4,5)
console.log('length: ' + length + '  arr: ' + arr)
// length: 5  arr: [1,2,3,4,5]

pop()

功能:删除并返回数组的最后一个元素。
会改变原数组,返回值是pop出来的元素值

var arr = [1,2,3];
var val = arr.pop()
console.log('val: ' + val + '  arr: ' + arr)
// val: 3  arr: [1,2]

unshift(ele1,ele2,....,eleX)

ele1:必需。添加到数组头部的第一个元素。
ele2:可选。添加到数组头部的第二个元素。
eleX:可选。可添加若干个元素。
功能:向数组的开头添加一个或更多元素。
会改变原数组,返回值是改变后的数组长度

var arr = [1,2,3];
var length = arr.unshift('haha')
console.log('length : ' + length + '  arr: ' + arr)
// length : 4  arr: ['haha',1,2,3]

shift()

功能:删除并返回数组的第一个元素。
会改变原数组,返回值是shift出来的元素值

var arr = [1,2,3];
var val = arr.shift()
console.log('val: ' + val + '  arr: ' + arr)
// val: 1  arr: [2,3]

concat(arrayX,arrayX,......,arrayX)

arrayX:必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。
功能:用于连接两个或多个数组。
不会改变原数组,返回值是一个新数组

var arr = [1,2,3];
var arr1 = arr.concat(4,5,['haha','hehe'])
console.log('arr : ' + arr + '  arr1: ' + arr1)
// arr : [1,2,3]  arr1: [1,2,3,4,5,'haha','hehe']

reverse()

功能:用于颠倒数组中元素的顺序。
会改变原数组,返回值是原数组

var arr = [1,2,3];
var arr1 = arr.reverse(); // [3,2,1]
console.log('arr: ' + arr + '   arr1: ' + arr1)
// arr: [3,2,1]   arr1: [3,2,1]

sort(sortby)

sortby:可选。规定排序顺序。必须是函数。
功能:对数组的元素进行排序。
会改变原数组,返回值是原数组

// 无sortby,将按字母顺序对数组中的元素进行排序,更精确点,是按照字符编码的顺序进行排序。
// 要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
var arr = [10, 5, 40, 25, 1000, 1];
var arr1 = arr.sort();
console.log('arr: ' + arr + '    arr1: ' + arr1)
// arr: 1,10,1000,25,40,5    arr1: 1,10,1000,25,40,5

// 有sortby函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。
// 比较函数应该具有两个参数 a 和 b,其返回值如下:
// 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
// 若 a 等于 b,则返回 0。
// 若 a 大于 b,则返回一个大于 0 的值。
function sortNumber(a,b) {
  return a - b
}
var arr = [10, 5, 40, 25, 1000, 1];
var arr1 = arr.sort(sortNumber);
console.log('arr: ' + arr + '    arr1: ' + arr1)
// arr: 1,5,10,25,40,1000    arr1: 1,5,10,25,40,1000

slice(start, end)

start:可选。规定从何处开始选取。没有指定,表示从0开始。可为负数。
end:可选。规定从何处结束选取。没有指定,表示从 start 到数组结束的所有元素。可为负数。
下标为负数,代表从数组尾部开始算起,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
功能:从原数组中选取部分元素(下标是 start 到 end-1 的元素)构成新数组。
不会改变原数组,返回值是一个新数组。

// 有end
var arr = [1,2,3,4];
var arr1 = arr.slice(1,3); // 1:起始下标,3:结束下标
console.log('arr: ' + arr + '    arr1: ' + arr1)
// arr: [1,2,3,4]    arr1: [2,3]

// 无end,那么切分的数组包含从 start 到数组结束的所有元素
var arr = [1,2,3,4];
var arr1 = arr.slice(1); // 1:起始下标
console.log('arr: ' + arr + '    arr1: ' + arr1)
// arr: [1,2,3,4]    arr1: [2,3,4]

// 无start,无end
var arr = [1,2,3,4];
var arr1 = arr.slice(); // 1:起始下标,3:结束下标
console.log('arr: ' + arr + '    arr1: ' + arr1)
// arr: [1,2,3,4]    arr1: [1,2,3,4]

// end为负数
var arr = [1,2,3,4];
var arr1 = arr.slice(1, -2);
console.log('arr: ' + arr + '    arr1: ' + arr1)
// arr: [1,2,3,4]    arr1: [2]

// start为负数
var arr = [1,2,3,4];
var arr1 = arr.slice(-3, -2);
console.log('arr: ' + arr + '    arr1: ' + arr1)
// arr: [1,2,3,4]    arr1: [2]

splice(index,howmany,item1,.....,itemX)

index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX:可选。向数组添加的新项目。
功能:删除、插入和替换原数组。返回被删除的项目所构成的数组
会改变原数组,返回值是一个新数组

// 删除
var arr = [1,2,3,4,5];
var arr1 = arr.splice(1,2); // 1:起始下标,2:删除的项数
console.log('arr: ' + arr + '    arr1: ' + arr1)
// arr: [1,4,5]    arr1: [2,3]

// 插入
var arr = [1,2,3,4,5];
var arr1 = arr.splice(1,0,'a','b'); // 1:起始下标(在此下标之前插入),0:不删除,'a'和'b'是要插入的元素
console.log('arr: ' + arr + '    arr1: ' + arr1)
// arr: [1,a,b,2,3,4,5]   arr1: []

// 替换
var arr = [1,2,3,4,5];
var arr1 = arr.splice(1,2,'a','b','c'); // 1:起始下标,2:删除的项数,'a','b','c'是要插入的元素
console.log('arr: ' + arr + '    arr1: ' + arr1)
// arr: [1,a,b,c,4,5]    arr1: [2,3]

join(separator)

separator:可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
功能:将数组的所有元素组成一个字符串。
不会改变原数组,返回值是一个字符串

// 无 separator
var arr = [1,2,3,4,5];
var str = arr.join();
console.log('arr: ' + arr + '    str: ' + str)
// arr: [1,2,3,4,5]    str: '1,2,3,4,5'

// 有 separator
var arr = [1,2,3,4,5];
var str = arr.join('-');
console.log('arr: ' + arr + '    str: ' + str)
// arr: [1,2,3,4,5]    str: '1-2-3-4-5'


小被子
839 声望10 粉丝